import HTMLParser
import urllib
import re
import string


urlString = "http://www.kixp.or.ke/index.php?option=com_content&task=view&id=41&Itemid=23"
urlText = []
pathOut = "ixp_members.txt"


class Parse122 (HTMLParser.HTMLParser):
    
    check = False
    
    def handle_starttag (self, tag, attrs):
        if tag == "td":
            self.check = True
    
    def handle_data (self, data):
        if self.check == True:
            m = re.match("^(Prvt )?\d+\s?(/(Prvt )?\d+)*$",data)
            if m:
                vet = string.split(data,"/")
                for i in vet:
                    i = re.search("\d+",i).group(0)
                    if i not in urlText:
                        urlText.append(i)
            self.check = False


lparser = Parse122()
page = urllib.urlopen(urlString).read()
# elimino il codice html all'interno del tag <script> perche' contiene "<" non usato come inizio tag (linee 96-128)
# (il parser non funzionerebbe altrimenti); re.DOTALL serve per considerare il pattern anche su piu' linee
pattern = re.compile("<script type=\"text/javascript\">.*</script>", re.DOTALL)
page = re.sub(pattern, "", page)
# tolgo &nbsp; altrimenti il parser non scopre l'AS 64523
page = re.sub("Prvt&nbsp;", "Prvt", page)
lparser.feed(page)
fileOut = open(pathOut, "a")
for item in urlText:
    #print item # debug
    print >> fileOut, "122 %s" % item
fileOut.close()